This invention relates to the field of data processing and, more particularly, to a system and method for supporting a plurality of media conferences.
Many hardware and software applications use digital signal processors (DSPs) to process real-time data communicated over packet-based networks. These applications typically receive input data packets from end-user devices, process the input data packets to generate output data packets, and communicate the output data packets to the end-user devices.
Unfortunately, applications that manipulate real-time data require a minimum amount of memory, processing, or other resources to appear transparent to users. Once the applications allocated to a DSP exhaust the DSP""s available resources, current systems restrict the dynamic growth of the applications to prevent performance degradations. For example, devices that process media conferences do not allow media conferences to add new participants if the DSP supporting the media conferences lacks the available resources to support the new conference participants.
From the foregoing, a need has arisen for a system that supports the dynamic nature of many real-time applications, such as media conferencing In accordance with the present invention, a system and method for maintaining a plurality of media conferences is provided that substantially eliminates or reduces disadvantages or problems associated with previously developed systems and methods.
In one embodiment, a device for supporting a plurality of media conferences includes digital signal processors (DSPs) and a system resource management (SRM) module coupled to the DSPs. Each DSP receives input data packets from conference participants and processes the input data packets to generate output data packets. Each DSP determines whether the media conference is set to an active mode and communicates the output data packets to the conference participants in response to determining that the media conference is set to the active mode The SRM module allocates a media conference to a first DSP and a second DSP and sets the media conference to the active mode in the first DSP and a stand-by mode in the second DSP. The first DSP communicates output data packets associated with the media conference in response to the SRM module setting the media conference to the active mode in the first DSP. The SRM module sets the media conference to the active mode in the second DSP and de-allocates the media conference from the first DSP, and the second DSP communicates output data packets associated with the media conference in response to the SRM module setting the media conference to the active mode in the second DSP.
Technical advantages of the present invention include a system and method for supporting media conferences. A pool of DSPs processes media conferences, and a SRM module allocates media conferences to the DSPs and de-allocates media conferences from the DSPs according to the dynamic resource requirements of the media conferences. When the SRM receives a request to create a new media conference, the SRM allocates the media conference to two DSPs. The SRM module sets the media conference to an active mode in a first DSP and a stand-by mode in a second DSP. Because both DSPs are processing the media conference, the SRM module may later de-allocate the media conference from one of the two DSPs without substantial buffering or processing delays. The SRM module may de-allocate the media conference from one of the DSPs to free processing, memory, or other resources to support new media conferences or new participants in existing media conferences. For these and other readily apparent reasons, the present invention represents a significant advance over prior systems and methods.